package com.simple.admin.controller.monitor;

import com.simple.framework.core.controller.BaseController;
import com.simple.framework.core.domain.R;
import com.simple.framework.core.domain.vo.PagingVo;
import com.simple.system.annotation.SystemLog;
import com.simple.system.domain.dto.ListSysSystemLogDto;
import com.simple.system.domain.entity.SysSystemLog;
import com.simple.system.enums.BusinessType;
import com.simple.system.service.SysSystemLogService;
import org.springframework.web.bind.annotation.*;

import java.util.Set;

/**
 * @Description 系统操作日志表(SysSystemLog)表控制器层
 * @Author xiaoke
 * @Date 2024/8/28 20:08
 * @Version 1.0
 */
@RequestMapping("/monitor/systemLog")
@RestController
public class SysSystemLogController extends BaseController {

    private final SysSystemLogService sysSystemLogService;

    public SysSystemLogController(SysSystemLogService sysSystemLogService) {
        this.sysSystemLogService = sysSystemLogService;
    }


    /**
     * 分页查询系统日志表
     * @param dto 请求参数
     * @return 分页数据
     */
    @GetMapping
    public R<PagingVo<SysSystemLog>> list(ListSysSystemLogDto dto) {
        return success(sysSystemLogService.list(dto));
    }


    /**
     * 批量删除系统日志表
     * @param ids 主键集合
     * @return 删除结果
     */
    @SystemLog(title = "删除日志",businessType = BusinessType.DELETE)
    @DeleteMapping("/batchDelete/{ids}")
    public R<Void> delete(@PathVariable Set<Long> ids) {
        sysSystemLogService.delete(ids);
        return success();
    }

}
